package com.SNQ.project.English_speaking_learning_system.service;

import com.SNQ.project.English_speaking_learning_system.pojo.dto.AdminDTO;
import com.SNQ.project.English_speaking_learning_system.pojo.dto.UserDTO;
import com.SNQ.project.English_speaking_learning_system.pojo.dto.UserLoginDTO;
import com.SNQ.project.English_speaking_learning_system.pojo.entity.User;
import com.SNQ.project.English_speaking_learning_system.pojo.vo.UserVO;

import java.util.List;

public interface UserService {

    /**
     * 用户登录
     * @param userLoginDTO
     * @return
     */
    User login(UserLoginDTO userLoginDTO);

    /**
     * 用户注册
     * @param userDTO
     */
    void enroll(UserDTO userDTO);

    /**
     * 获取文章的打卡次数排行榜
     * @return
     */
    List<UserVO> getArticleByCheckin();

    List<UserVO> getArticleByScores();

    List<UserVO> getDepartmentByCheckin(String department);

    List<UserVO> getDepartmentByScores(String department);

    List<UserVO> getMajorByCheckin(String department,String major);

    List<UserVO> getMajorByScores(String department,String major);

    List<UserVO> getClassNumberByCheckin(String department,String major,String classNumber);

    List<UserVO> getClassNumberByScores(String department,String major,String classNumber);

    public int evaluateAudio(String audioUrl, Long articleId) throws Exception;

}
